using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;

namespace EasySeries.Metier.Entites
{
    /*
     * 
     * Classe Serie
     * 
     * */
    public class Serie
    {
        // Nom de la serie
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        // Liste des episodes de la serie
        private IList<Episode> episodes;

        public IList<Episode> Episodes
        {
            get { return episodes; }
            set { episodes = value; }
        }

        // Constructeur par defaut
        public Serie()
        {
        }

        /*
         * 
         * Construteur a un argument
         * param: name: nom de la serie
         * 
         * */
        public Serie(string name)
        {
            this.Name = name;
        }

        // Redefinition de Equals
        public override bool Equals(object obj)
        {
            if (DBNull.Value == obj)
                return false;
            
            return this.Name.Equals(((Serie)obj).Name);
        }

        // Redefinition de GetHashCode
        public override int GetHashCode()
        {
            return this.Name.GetHashCode();
        }

        public override string ToString()
        {
            return this.Name;
        }
    }
}
